package com.feel.easycloud.service;

import com.feel.easycloud.entity.SysUser;
import com.feel.easycloud.utils.ApiResult;
import com.feel.easycloud.vo.CreateAndUpdateSystemUserVo;
import com.feel.easycloud.vo.login.LoginUserRequestVo;
import com.feel.easycloud.vo.singlebasevo.BasePageQueryVo;
import com.feel.easycloud.vo.singlebasevo.SingleEntityRequestVo;
import com.feel.easycloud.vo.user.UserRestPasswordRequestVo;
import com.feel.easycloud.vo.user.UserRestPasswordResponseVo;
import com.github.pagehelper.PageInfo;

public interface SystemUserService {

    void createSystemUser(CreateAndUpdateSystemUserVo requestVo);

    void updateSystemUser(CreateAndUpdateSystemUserVo requestVo);

    void deleteSystemUser(SingleEntityRequestVo requestVo);

    CreateAndUpdateSystemUserVo getSystemUser(SingleEntityRequestVo requestVo);

    PageInfo getSystemUserPageList(BasePageQueryVo requestVo);

    ApiResult<SysUser> login(String loginType, LoginUserRequestVo requestVo);

    ApiResult<SysUser> checkEmail(String email);

    ApiResult<UserRestPasswordResponseVo> restPassword(UserRestPasswordRequestVo requestVo);

}
